The present invention relates to the field of software analysis, and particularly to generating a multi-scale workflow chart.
Code analysis techniques involve static analysis of source code without executing the source code. Some static analysis methods require an analysis of the potential execution paths of source code that might be traversed. Workflow charts are often used to represent the execution paths with graph notation. For example, each basic block in the code may be represented as a node in a graph. A control flow graph (CFG) is a well-known tool, widely used in software engineering, which can help programmers to understand the design of a software development project. CFG represents potential execution paths using directed edges connecting basic blocks of source code.
By identifying defects and other properties of source code based on workflow charts, improvements to software reliability can be made in many phases of the software development lifecycle. Analysis of the impact of software defects, for example, has shown potentially high costs associated with memory leaks, deadlocks, and other hazardous program states. In some cases, a small investment in analysis tools earlier in the lifecycle can show dividend gains in the form of lower maintenance costs and prevention of a potentially costly redesign later.